package xyz.scootaloo.draft.demo;

import java.util.Date;

/**
 * @author flutterdash@qq.com
 * @since 2021/5/1 22:39
 */
public class Main {

    // 主方法, 程序入口
    public static void main(String[] args) {
        // 1. 使用继承 Thread 的类来实现线程, 并重写 run 方法
        new Way1().start();
        // 2. 创建 Thread 对象, 并用 runnable 的匿名内部类 / lambda 做为参数
        new Thread(() -> {
            System.out.println(getTime());
        }).start();
        // 3. 使用一个实现了 runnable 接口的类做为 Thread 对象的参数
        new Thread(new Way3()).start();
    }

    public static String getTime() {
        return Thread.currentThread().getName() + ": " + new Date().toString();
    }

    static class Way1 extends Thread {
        @Override
        public void run() {
            System.out.println(getTime());
        }
    }

    static class Way3 implements Runnable {
        @Override
        public void run() {
            System.out.println(getTime());
        }
    }

}
